#ifndef DRAW_H
#define DRAW_H
#include <SDL/SDL.h>
#include <SDL/SDL_ttf.h>
#include <SDL/SDL_image.h>
#include <string>
#include <iostream>
#include <ui_point.h>
#include <ui_color.h>
using namespace std;

namespace UI{

class KTV_Draw{
	string font_path;
	TTF_Font* p_font;
	int font_style;
	int font_size;
	static KTV_Draw* p_draw;
	KTV_Draw(string path);
	bool changeFontSize(int size);
public:
	static KTV_Draw* Create(string path);
	~KTV_Draw();
	bool Initial();
	SDL_Surface* DrawUTF8_Blend(const string& text,UI_Color color,int size,int style);
	SDL_Surface* DrawUTF8_Solid(const string& text,UI_Color color,int size,int style);
	SDL_Surface* DrawUTF8_Shaded(const string& text,UI_Color fg,UI_Color bg,int size,int style);
	static SDL_Surface* GetFromImageFile(const string& file);
};

}
#endif
